package com.baitiaojun.user.service;

import com.baitiaojun.api.domain.user.User;
import com.baitiaojun.api.domain.user.UserInfo;
import com.baitiaojun.api.exception.ConditionException;

import java.util.List;
import java.util.Set;

/**
 * @类名 UserService
 * @描述
 * @作者 白条君
 * @创建日期 2022/10/25 19:37
 * @版本 1.0
 */
public interface UserInfoService {

    void updateUser(User user, String token) throws Exception;

    void updateUserInfo(UserInfo userInfo, String token) throws Exception;

    Integer getIsExistsUserById(Long id);

    List<UserInfo> getUserInfoListByUserId(Set<Long> userIds, Long userId) throws Exception;

    UserInfo getUserInfoByUserId(Long userId) throws Exception;

    User getOtherUser(Long id, Long userId) throws Exception;

    Long getOtherUserId(Long followingId);

    Set<Long> batchGetUserIdsFollowingIds(Set<Long> followingIds);

    User getCurrentUserInfo(User user, String token) throws InterruptedException, ConditionException;
}
